# 正规表达式是一种特殊字符的组合（模式），它可以用来匹配字符串里面的内容是否符合要求
    # 如：字符串只允许数字，前两为是数字，后三位是字母



# ============re.match方法======================
# 查看内容是否匹配

# 语法：
# re.match（pattern,string,flags=0）
        # pattern  正规表达式
        # string
        # flags

import re

res = re.match('www','www.scdn.com')
print(res)
# 从最开始查找，返回元组，从第一个字符开始匹配
print(res.span())

print(res.start())  # 开始下标
print(res.end())    # 结束下标

rex = re.match('com','python.com')
print(rex)



line = 'Syntax er ror invalid syntax'

# .*任意字符（不包含换行）任意个数
# re.M 多行的匹配模式 （默认的是单行）
# re.I 忽略大小写（默认区分大小写）
rev = re.match(r'(.*) ror (.*) .*',line,re.M | re.I)
print(rev)

# 返回匹配到的字符
print(rev.group())



# =============正规表达式的标志（修饰符）============================
# re.M      多行匹配
# re.I      忽略大小写
# re.L      本地化的识别
# re.S      点匹配所有字符加换行符
# re.U      根据unicode字符集匹配
# re.X      该标志通过给予跟灵活的格式 方便你写的正规表达式更易理解


# =============正规表达式的模式=====================================






# ============re.search=============================
# 找出第一个数字串的内容

ree = re.search('scdn','www.scdn.com')
print(ree)
print(ree.group())

s = 'agddga487434eag44754dbd'
res = re.search(r'\d+',s)
print(res.group())

# =========re.findall======================
# 找出所有的数字串的内容
res = re.findall(r'\d+',s)
print(res)

